The present invention relates to multimedia computer systems and more particularly, to bus interface circuits for multimedia computer systems.
Multimedia computer systems are information handling systems which combine the information handling characteristics of traditional computer systems with high quality video and audio presentations. The video presentation is provided by a video display device and the audio presentation is provided by an audio output device.
Multimedia computer systems include media sources which generate media signals. The media signals include audio signals, which are provided to the audio output device, and image signals, which are provided to the video display device. The image signals may include graphics signals, text signals, animation signals and full motion video signals. An image signal is converted to a video presentation by the display device, which receives the image signal and scans the image signal in a raster pattern across a screen of the display device. The speed with which the display device scans the image is called the sweep rate. The screen has a horizontal resolution and a vertical resolution which define display device screen coordinates. The presentation from one complete scan of the screen is called a frame. To provide a full motion video presentation, a display device generates multiple frames per second.
It is often desirable to concurrently display a plurality of different image signals, including full motion video signals, via a single video display device. The image signals may be concurrently displayed by the display device using a plurality of different methods.
Multiple image signals may be concurrently displayed using a multiple plane method. With the multiple plane method, a background signal which is rapidly changing (e.g., full motion video) is stored in a first memory (the background memory) to provide a background plane. A foreground signal which is relatively constant (e.g., text or graphics) is stored in a second memory (the foreground memory) to provide a foreground plane. The two planes are merged and a merged signal is provided to the display device.
Multiple image signals may be concurrently displayed using an overlay method. With the overlay method, a frame of a full motion video signal is provided to a memory such as a frame buffer which stores the full motion video frame as a background frame. An overlay image signal is then stored in a portion of the memory thereby over writing the full motion video signal that is stored in that portion of the memory. The entire frame is then read from the memory to provide an overlaid image signal to the display device.
Multiple image signals may be concurrently displayed using a color keying method. With the color keying method, a first image signal is provided to control logic as a background frame. A second image signal which includes portions having a designated color is provided to the control logic as a key frame. For normal color keying, the control logic provides the key frame to the display device unless the designated color is present, at which time the control logic provides the background frame. Bowker et al., U.S. Pat. No. 4,599,611, discloses a computer system which uses the color keying method. In Bowker et al., two image signals (a set containing text signals and a set containing graphics signals) are supplied to a switch which receives the image signals and provides an output to a video display device on a pixel by pixel basis based upon whether a predetermined color is present. Prior to being provided to the switch, the image signal is converted to RGB (Red/Green/Blue) format if not already so encoded.
Multiple image signals may be concurrently displayed using a window method. With the window method, a first image signal (e.g., a full motion video image signal) provides a background image plane which is stored in a memory such as a frame buffer. A second image signal (e.g., a text or graphics image signal) provides a second image plane which is stored in all but a portion of the memory. This portion is a void, i.e., a window, in which the background image plane remains. This windowed image signal is then provided to the display device.
A window is a rectangular area in which the background image signal is displayed. The window is defined by window coordinates which define the location and size of the window with respect to display device screen coordinates. Multiple windows are often concurrently presented on a single display device. During concurrent display, one window, usually the most visible window, is the active window.
It is known to display windows of non-full motion video image signals using a system in which a digital bus connects a plurality of window modules to a display controller. The display controller connects the display bus to a system display. Colley, Martin, "Parallel-Architecture Windowing Display" Department of Computer Science, University of Essex, Wivenhoe Park, Colchester, Essex, U.K. (1987) discloses such a system.
In Colley, the window modules are provided by dividing a display memory into physically separate window areas. Each image signal window is maintained in its entirety in a respective window module; the visibility of overlapping portions of the windows is determined via arbitration as the screen of the display device is updated. Each window module contains a window management unit which defines the size, position and arbitration priority of an associated window.
The display controller reads data in 8 or 16-bit words from the display memories via the display bus. The data are read from each display memory via the digital bus to allow the memory to adequately provide information for display. The information which is read from the different display memories is stored in a frame buffer. The frame buffer is read to provide an image signal to the display device.